約 2,603,245 件
https://w.atwiki.jp/yuichi0619/pages/13.html
使用しているテキストエディタemacsについて mew(2008/6/9) sshでメールが見れるようにしたい。 なんで、emacsでメールを読めるようにする。 opensuseにはパッケージがないんで自分でビルド。mew-6.1を落としてくる。 まずは、 $ ./configure 次にmakeする前にopensuseはsite-lispが/usr/local/share/emacs/ではなく、/usr/share/emacs/にあるので、 prefix=/usr/local ↓ prefix=/usr とMakefileを書き換える。 その後、 $ make info $ make jinfo $ make install $ make install-jinfo とし、インストールを完了した。そして、.emacsに以下を追加した。 (autoload mew "mew" nil t) (autoload mew-send "mew" nil t) ;;; Makefile の etcdir で指定したディレクトリ (setq mew-icon-directory "/usr/local/lib/emacs/etc/Mew") (if (boundp read-mail-command) (setq read-mail-command mew)) (autoload mew-user-agent-compose "mew" nil t) (if (boundp mail-user-agent) (setq mail-user-agent mew-user-agent)) (if (fboundp define-mail-user-agent) (define-mail-user-agent mew-user-agent mew-user-agent-compose mew-draft-send-message mew-draft-kill mew-send-hook)) そして、.mew.elファイルを作った。内容は参考サイト参照。 参考サイト Mewのオフィシャルページ ttp //www.mew.org/index.html.ja scheme(2008/2/1) schemeを勉強するかもしれない。とりあえずemacsに環境を整えておこう。 以下を.emacsに追加。 ; scheme (setq scheme-program-name "/opt/local/bin/gosh") C-x C-eでgoshを起動。 コメントアウト(2008/1/28) comment-regionが便利な事に気がついた。 だからキーに割り当てた。 以下を.emacsに追加。 ;Ctrl c r を comment-regionのショートカットに ;Ctrl c u を uncomment-regionのショートカットに (global-set-key "\C-cr" comment-region) (global-set-key "\C-cu" uncomment-region) CarbonEmacsのメニューバーの消去(2008/1/28) carbonEmacsが起動する度メニューバーが出てくるのがうざい。 ぶっちゃけいらない。だから起動時に隠すようにした。 以下を.emacsに追加。 ;; メニューバーの消去 (tool-bar-mode -1) フレームの半透明化(2008/1/28) 何となくフレームを透けさせる。 だってかっこ良くない? 以下を.emacsに追加。 ;Emacsのフレームを透明に (modify-all-frames-parameters (list (cons alpha (80 40 50 30)))) 括弧の対応の色付(2007/7/23) 括弧の対応を色付け。 対応がわからんくてイライラするから色を付ける。 以下を.emacsに追加。 ;括弧の対応を色付 (show-paren-mode t) 全角スペースへの色付(2007/7/17) 全角スペースのせいでコンパイラが通らないことはよくあるが、 非常に見付けににくい。なんで全角スペースに色を付ける。 以下を.emacsに追加。 ;全角スペースに緑の色づけ。全角スペースは罠だよ =( (defface my-face-b-1 ((t ( background "green"))) nil) (defvar my-face-b-1 my-face-b-1) (defadvice font-lock-mode (before my-font-lock-mode ()) (font-lock-add-keywords major-mode ((" " 0 my-face-b-1 append) ))) (ad-enable-advice font-lock-mode before my-font-lock-mode) (ad-activate font-lock-mode) shortcut(2007/6/1) goto-lineを打ち込むのが面倒。 ショートカット化する。 以下を.emacsに追加。 ;Ctrl L を goto-lineのショートカットに (global-set-key "\C-l" goto-line) haskell-mode(2007/6/1) haskellの勉強をするために、haskell-modeの設定をする。 調べてみたが設定がわからなかったので、最新verでは無く、ver2.1を落とし、haskell-ghci.elを以下のように修正。 (if haskell-ghci-mode-map nil (setq haskell-ghci-mode-map (copy-keymap comint-mode-map))) ↓ (if nil ;haskell-ghci-mode-map nil (setq haskell-ghci-mode-map (copy-keymap comint-mode-map))) 更に以下の文を.emacsを追加。 意味はわかっていない。 ;haskell-modeのパスを定義 (setq load-path (cons "~/haskell/haskell-mode" load-path)) (setq auto-mode-alist (append auto-mode-alist (("\\.[hg]s$" . haskell-mode) ("\\.hi$" . haskell-mode) ("\\.l[hg]s$" . literate-haskell-mode)))) (autoload haskell-mode "haskell-mode" "Major mode for editing Haskell scripts." t) (autoload literate-haskell-mode "haskell-mode" "Major mode for editing literate Haskell scripts." t) (add-hook haskell-mode-hook turn-on-haskell-decl-scan) (add-hook haskell-mode-hook turn-on-haskell-doc-mode) (add-hook haskell-mode-hook turn-on-haskell-indent) (add-hook haskell-mode-hook turn-on-haskell-ghci) (setq haskell-literate-default latex) (setq haskell-doc-idle-delay 0) 追記(2007/8/5) haskell-mode ver2.3を導入。英語のれあdめを読んで導入する。 windowsでは以下の文を.emacsに追加した。前回入力したのはコメントアウト。 (load "~/haskell/haskell-mode/haskell-site-file") (add-hook haskell-mode-hook turn-on-haskell-doc-mode) (add-hook haskell-mode-hook turn-on-haskell-indent) (add-hook haskell-mode-hook font-lock-mode) (add-hook haskell-mode-hook turn-on-haskell-ghci) Debianではrootで、 $ apt-get install haskell-mode のみで、インストール完了。 .emacsには以下の文だけ追加。 (add-hook haskell-mode-hook turn-on-haskell-ghci) 追記(2008/1/9) macでは、carbonemacsには標準でhaskell-modeが入っているので、 .emacsに以下を追加。 (add-hook haskell-mode-hook turn-on-haskell-hugs) (add-hook haskell-mode-hook turn-on-haskell-doc-mode) (add-hook haskell-mode-hook turn-on-haskell-indent) 日本語化(2007/6/1) cannaは使いにくかったのでanthy化。 以下を.emacsに追加する。 意味はわかっていない。 ; 日本語をデフォルトにする。 (set-language-environment "Japanese") ; anthy.el をロードできるようにする (必要に応じて)。 (push "/usr/local/share/emacs/site-lisp/anthy/" load-path) ; anthy.el をロードする。 (load-library "anthy") ; japanese-anthy をデフォルトの input-method にする。 (setq default-input-method "japanese-anthy") 色付け(2007/6/1) Cやjavaのソースに色を付けるために、以下を.emacsに追加。 ;色を付ける (global-font-lock-mode t)
https://w.atwiki.jp/ntemacs/pages/48.html
■ Windows版 Emacs 共通の設定 (一部の設定を除き、Linux版 Emacs にも適用可能) 【お知らせ】 2021/12/16 追記 相互リンク。こちらも参考になると思います。 https //ploversky.net/archives/463 2020/04/23 追記 ワンショットモディファイアの機能を利用し、左右の Alt キーに IME の切替えを割り当てられるようにしました。Keyhac の設定と連携することで動作します。US のキーボードを利用している場合にお試しください。 なお、次の設定も同じ操作性にできるように見直しました。 Windows の操作を Emacs のキーバインドで行うための設定 (Keyhac版) 2020/04/13 追記 「IME を無効にするキー設定」と「IME を有効にするキー設定」を追加しました。初期設定では、「無変換」キーと「変換」キーを割り当てています。C-o の設定はトグル動作となっていますが、設定の中のコメントを見直すことで変更可能です。お勧めは、C-o のトグル設定は残して C-j に英数への切替えを設定するものです。日本語への切替えが C-o によるトグル操作による切替えの他、C-j C-o での一発切替えが可能となります。(helm 利用の際に C-j がバッティングしますが、C-o で逃げれます。) なお、次の設定も同じ操作性にできるように見直しました。 Windows の操作を Emacs のキーバインドで行うための設定 (Keyhac版) 2019/05/17 追記 wdired 利用時に C-o による日本語入力を可能とする設定を追加しました。 2018/08/12 追記 mozc-im-mode 変数をバッファローカル変数にする方法を make-variable-buffer-local 関数を使う方法から defvar-local で定義する方法に見直しました。Emacs-24.3 以降で有効な設定となります。 https //qiita.com/tadsan/items/9d287a57c26711387043 2018/01/04 追記 mozc-candidate-dispatch の advice が helm の仕様変更により動作しなくなっていましたので見直しました。この対応で、dired 利用時に + キーで動作する dired-create-directory でも日本語が正常に入力できるようになりました。 2017/05/04 追記 本設定は Windows Subsystem for Linux でも利用可能です。設定は次のページから始めてください。 emacs-mozc を動かすための設定(WSL 設定編) 2016/12/01 追記 次のページで報告されている問題について対策しました。 https //github.com/d5884/mozc-im/pull/1 2016/09/13 追記 5) で mozc_emacs_helper.exe に対し IME を ON にするために発行しているキーを「Hiragana」から「Hankaku/Zenkaku」に変更しました。この対応で、Google日本語入力のキー設定が「MS-IME」以外の「ことえり」などでも emacs-mozc を使えるようになりました。(ただし、「Hankaku/Zenkaku」キーは「Hiragana」キーと異なり、IME の ON/OFF をトグルするキーとなります。必要な場合に一度のみ発行するように注意して利用する必要があります。(本設定を利用すれば問題は発生しません。)) 2015/12/07 追記 本設定とは直接関係ありませんが、isearch でキルリングを張り付けるには、C-s RET C-y とすればいいのですね。知りませんでした..。 http //kouritool.com/itdiary/emacs%E3%81%A7%E5%BC%B5%E3%82%8A%E4%BB%98%E3%81%91%E6%96%87%E5%AD%97%E5%88%97%E3%82%92%E6%A4%9C%E7%B4%A2/ 【本題】 【重要】 WSL版 Emacs の利用者は、最初に「emacs-mozc を動かすための設定(WSL 設定編)」を参照してください。 【重要】 Windows版 Emacs の利用者は、事前に「emacs-mozc を動かすための設定(mozc_emacs_helper コンパイル編)」を参照してください。 【重要】 「emacs-mozc を動かすための設定(サーバ準備編)」を行う方法もありますが、特に理由がなければ mozc_emacs_helper.exe を利用する方法をお勧めします。 【重要】 Linux で mozc(Google日本語入力ではなく)を利用する場合は、次の対応を行った後、(共通)の設定を進んで下さい。 $ sudo apt install emacs-mozc-bin $ sudo apt install mozc-utils-gui NTEmacs で emacs-mozc を動かすための Emacs 設定編です。 以下は設定手順です。 1) (共通)melpa package から、mozc、mozc-im、mozc-popup をインストールする。 ※ mozc-candidate-style を overlay に設定した場合、動作が遅く使用に耐えません。これを改善するのが mozc-popup です。tabbar との相性も良いとの情報もあります。 ※ mozc-im を使うことで、isearch の中でも mozc による日本語入力が可能となります。 2) (共通)次のページから mozc-cursor-color.el をダウンロードし、~/.emacs.d/site-lisp 等の load 対象となるディレクトリ配下にサブディレクトリを作成し格納する。 https //github.com/iRi-E/mozc-el-extensions 3) (「サーバ準備編」利用の場合)サーバ準備編で git により作成された vagrant-emacs-mozc ディレクトリ以下に mozc-emacs-helper.sh というファイルがあるので、このファイルを ~/bin 等の PATH の通ったフォルダにコピーする。既存の Linux環境を利用する場合は、mozc-emacs-helper.sh の中身を確認し、Linuxマシンに自動ログインできるスクリプトに書き換える。置き換えるスクリプトは以下のようなもの。 ssh user @localhost -p port mozc_emacs_helper "$@" また、MinGW版 Emacs を利用している場合は、「fakecygpty を使うための設定」を利用し、fakecygpty-program-list に "mozc-emacs-helper.sh" を追加する。 4) (共通)init.el 等に以下の elisp の設定を追加する。 (require mozc-im) (require mozc-popup) (require mozc-cursor-color) (require wdired) (setq default-input-method "japanese-mozc-im") ;; popupスタイル を使用する (setq mozc-candidate-style popup) ;; カーソルカラーを設定する (setq mozc-cursor-color-alist ((direct . "red") (read-only . "yellow") (hiragana . "green") (full-katakana . "goldenrod") (half-ascii . "dark orchid") (full-ascii . "orchid") (half-katakana . "dark goldenrod"))) ;; カーソルの点滅を OFF にする (blink-cursor-mode 0) (defun enable-input-method ( optional arg interactive) (interactive "P\np") (if (not current-input-method) (toggle-input-method arg interactive))) (defun disable-input-method ( optional arg interactive) (interactive "P\np") (if current-input-method (toggle-input-method arg interactive))) (defun isearch-enable-input-method () (interactive) (if (not current-input-method) (isearch-toggle-input-method) (cl-letf (((symbol-function toggle-input-method) (symbol-function ignore))) (isearch-toggle-input-method)))) (defun isearch-disable-input-method () (interactive) (if current-input-method (isearch-toggle-input-method) (cl-letf (((symbol-function toggle-input-method) (symbol-function ignore))) (isearch-toggle-input-method)))) ;; IME をトグルするキー設定 (global-set-key (kbd "C-o") toggle-input-method) (define-key isearch-mode-map (kbd "C-o") isearch-toggle-input-method) (define-key wdired-mode-map (kbd "C-o") toggle-input-method) ;; IME を無効にするキー設定 (global-set-key (kbd "C- f1 ") disable-input-method) (define-key isearch-mode-map (kbd "C- f1 ") isearch-disable-input-method) (define-key wdired-mode-map (kbd "C- f1 ") disable-input-method) ;; (global-set-key (kbd "C-j") disable-input-method) ;; (define-key isearch-mode-map (kbd "C-j") isearch-disable-input-method) ;; (define-key wdired-mode-map (kbd "C-j") disable-input-method) ;; IME を有効にするキー設定 (global-set-key (kbd "C- f2 ") enable-input-method) (define-key isearch-mode-map (kbd "C- f2 ") isearch-enable-input-method) (define-key wdired-mode-map (kbd "C- f2 ") enable-input-method) ;; (global-set-key (kbd "C-o") enable-input-method) ;; (define-key isearch-mode-map (kbd "C-o") isearch-enable-input-method) ;; (define-key wdired-mode-map (kbd "C-o") enable-input-method) ;; mozc-cursor-color を利用するための対策 (defvar-local mozc-im-mode nil) (add-hook mozc-im-activate-hook (lambda () (setq mozc-im-mode t))) (add-hook mozc-im-deactivate-hook (lambda () (setq mozc-im-mode nil))) (advice-add mozc-cursor-color-update around (lambda (orig-fun rest args) (let ((mozc-mode mozc-im-mode)) (apply orig-fun args)))) ;; isearch を利用する前後で IME の状態を維持するための対策 (add-hook isearch-mode-hook (lambda () (setq im-state mozc-im-mode))) (add-hook isearch-mode-end-hook (lambda () (unless (eq im-state mozc-im-mode) (if im-state (activate-input-method default-input-method) (deactivate-input-method))))) ;; wdired 終了時に IME を OFF にする (advice-add wdired-finish-edit after (lambda ( rest args) (deactivate-input-method))) gnupack 等で W32-IME の設定がされている場合は、以下の箇所をコメント化してください。 gnupack-11系: 「@ime」セクション gnupack-12,13系: 「@ language - input method」セクション、「@ screen - cursor」セクション、「@ search - isearch」セクションの後半 MinGW版 Emacs を使っている場合は、以下の設定を追加してください。 ;; IME が ON の時、カーソルの移動が遅くなるのを改善する (setq w32-pipe-read-delay 10) helm を使っている場合は、以下の設定を追加してください。 (require cl-lib) ;; helm でミニバッファの入力時に IME の状態を継承しない (setq helm-inherit-input-method nil) ;; helm の検索パターンを mozc を使って入力した場合にエラーが発生することがあるのを改善する (advice-add mozc-helper-process-recv-response around (lambda (orig-fun rest args) (cl-loop for return-value = (apply orig-fun args) if return-value return it))) ;; helm の検索パターンを mozc を使って入力する場合、入力中は helm の候補の更新を停止する (advice-add mozc-candidate-dispatch before (lambda ( rest args) (when helm-alive-p (cl-case (nth 0 args) ( update (unless helm-suspend-update-flag (helm-kill-async-processes) (setq helm-pattern "") (setq helm-suspend-update-flag t))) ( clean-up (when helm-suspend-update-flag (setq helm-suspend-update-flag nil))))))) ;; helm で候補のアクションを表示する際に IME を OFF にする (advice-add helm-select-action before (lambda ( rest args) (deactivate-input-method))) 5) (「mozc_emacs_helper コンパイル編」利用の場合)init.el 等に以下の elisp の設定を追加する。 ;; Windows の mozc では、セッション接続直後 directモード になるので hiraganaモード にする (advice-add mozc-session-execute-command after (lambda ( rest args) (when (eq (nth 0 args) CreateSession) ;; (mozc-session-sendkey (hiragana))))) (mozc-session-sendkey (Hankaku/Zenkaku))))) 6) (「サーバ準備編」利用の場合)init.el 等に以下の elisp の設定を追加する。 ;; https //github.com/igjit/vagrant-emacs-mozc (setq mozc-helper-program-name "mozc_emacs_helper.sh") (setq mozc-helper-process-timeout-sec 10) 7) (「mozc_emacs_helper コンパイル編」利用の場合)mozc のキーバインドを設定する。 「Google日本語入力」のプロパティで、「キー設定」を「ことえり」に選択してください。「ことえり」は Emacsキーバインドをベースとしたキー設定となっており、更に以下のキーが近いキー位置で利用可能となっています。 C-i (文節を縮める) C-o (文節を伸ばす) C-j (ひらがなに表示切替) C-k (全角カタカナに表示切替) C-l (全角英数に表示切替) C-; (半角に表示切替) C- /C- (半角英数に表示切替) ※ ターミナルソフトから Emacs を利用する場合、C-;、C- 、C- は利用できません。他のキーに置き換えてご利用ください。 8) (「サーバ準備編」利用の場合)mozc のキーバインドを設定する。 Linuxサーバ の mozc のキーバインドの設定は mozc_tool というコマンドで行いますが、Vargent で作成した Linuxサーバには mozc_tool はインストールされていません。このため、Windows PC に「Google日本語入力」をインストールして 7) の設定を行い、設定した結果が格納されている以下のファイルを Linux 側の ~/.mozc ディレクトリにコピーすることで対応してください。ファイルをコピーした後は Linuxサーバを再起動してください。 c /Users/ user /AppData/LocalLow/Google/Google Japanese Input/config1.db コマンド実行手順は以下のとおりとなります。 $ ssh -p 2422 -i ~/.vagrant.d/insecure_private_key vagrant@127.0.0.1 mkdir -p ~/.mozc $ cd c /Users/ user /AppData/LocalLow/Google/Google Japanese Input $ scp -P 2422 -i ~/.vagrant.d/insecure_private_key config1.db vagrant@127.0.0.1 ~/.mozc $ cd gitした場所 /vagrant-emacs-mozc $ vagrant reload なお、Linuxサーバに mozc-utils-guiパッケージ をインストールすれば、mozc_tool コマンドの表示を Cygwin/X 等の Xサーバに表示させることができます。コマンドは以下のとおりです。 $ sudo apt install mozc-utils-gui $ /usr/lib/mozc/mozc_tool --mode=config_dialog ただし、「emacs-mozc を動かすための設定(サーバ準備編)」でインストールした Linuxサーバ では、LANG の設定をしただけでは日本語の表示はできないようです。 9) (共通)Emacs で C-o を入力することにより、mozc-emacs-helper が起動し、漢字が入力できることを確認する。 ※ 「emacs-mozc を動かすための設定(WSL 設定編)」から本ページに来た場合は、まだ漢字入力はできません。このまま進んでください。 10) (共通)Windows の IME の切換えキーで mozc を切り替えられるように調整する。 ※ Virtualbox の Linux で Emacs を動作させている場合は、本設定で利用している Keyhac は有効に機能しません。本設定は、Windows版 Emacs や Windows の Xサーバソフトを経由して Emacs を動作させている場合に有効な設定です。 Windows の IME の切換えキー(「半角/全角」(日本語キーボード用)や Alt-`(英語キーボード用))で mozc を切り替えられるようにするには、「Windows の操作を Emacs のキーバインドで行うための設定 (Keyhac版)」の併用を検討ください。(Fakeymacs extension の real-emacs を有効にしてください。)IME の切換えの対応のみ行いたい場合には、以下の設定が利用できます。設定の方法はコメントの URL を参照してください。 これらの設定は、NTEmacs(gnupack 含む)と Windows の Xサーバで動く Emacs で機能するようにしています。Windows の Xサーバで Emacs が動作しているかどうかは、ウィンドウのタイトルで判定しています。Emacs の設定でタイトルの表示内容を変更している場合には、re.search 内の検索する正規表現を調整することで対応してください。 # -*- mode python; coding utf-8-with-signature-dos -*- # http //qiita.com/hshimo/items/2f3f7e070ae75243eb8b import re from keyhac import * def configure(keymap) def is_real_emacs(window) if (window.getClassName() == "Emacs" or (window.getProcessName() in ["mstsc.exe", # WSLg "msrdc.exe", # WSLg "XWin.exe", # Cygwin/X "XWin_MobaX.exe", # MobaXterm/X "XWin_MobaX_1.16.3.exe", # MobaXterm/X "XWin_Cygwin_1.14.5.exe", # MobaXterm/X "XWin_Cygwin_1.16.3.exe", # MobaXterm/X "Xming.exe", # Xming "vcxsrv.exe", # VcXsrv "GWSL_vcxsrv.exe", # GWSL "GWSL_vcxsrv_lowdpi.exe", # GWSL "X410.exe", # X410 "Xpra-Launcher.exe", # Xpra ] and # ウィンドウのタイトルを検索する正規表現を指定する # Emacs を起動しているウィンドウを検索できるように、Emacs の frame-title-format 変数を # 次のように設定するなどして、識別できるようにする # (setq frame-title-format (format "emacs-%s - %%b " emacs-version)) # (別途公開している sglstart コマンドを利用している場合、%%b の後のスペースは必要) re.search(r"^emacs-", window.getText()))) return True else return False keymap_real_emacs = keymap.defineWindowKeymap(check_func=is_real_emacs) # IME 切り替え用のキーの置き換え keymap_real_emacs["(243)"] = keymap.InputKeyCommand("C-Yen") # 半角/全角 キー keymap_real_emacs["(244)"] = keymap.InputKeyCommand("C-Yen") # 半角/全角 キー keymap_real_emacs["A-(25)"] = keymap.InputKeyCommand("C-Yen") # Alt-` キー keymap_real_emacs["(29)"] = keymap.InputKeyCommand("C-F1") # 無変換 キー keymap_real_emacs["(28)"] = keymap.InputKeyCommand("C-F2") # 変換 キー # keymap_real_emacs["O-LAlt"] = keymap.InputKeyCommand("C-F1") # 左 Alt キーの単押し # keymap_real_emacs["O-RAlt"] = keymap.InputKeyCommand("C-F2") # 右 Alt キーの単押し 変更履歴 2014/10/30 このページを作成した。 2014/11/02 minibuffer-setup-hook の設定を追加した。 2014/11/04 wdired を使う際の設定を追加した。 2014/11/18 「emacs-mozc を動かすための設定(mozc_emacs_helper コンパイル編)」に対応した。 2014/11/20 IME が ON の時、カーソルの移動が遅くなる対策を追加した。(w32-pipe-read-delay の値を デフォルトの 50 から 10 に変更した。) 2014/11/24 minibuffer-setup-hook 内の unless の判定を Emacs-24.3 以前のバージョンでも有効なものに変更した。 2014/11/27 helm の検索パターンを mozc を使って入力した場合にエラーが発生することがある対策を追加した。 2014/11/29 helm の検索パターンを mozc を使って入力する場合、入力中は helm の候補の更新を停止するようにした。 2014/12/12 helm で候補のアクションを表示する際に IME を OFF にするようにした。 2015/01/17 mozc-popup を最新と思われるサイトのものの利用に変更した。 2015/03/11 mozc-helper-process-recv-response のアドバイスの内容を簡略化した。 2015/07/22 Emacs-24.3 以上の対応の記載とした。 2015/09/10 advice を Emacs-24.4 以降の書式に見直した。 2015/10/30 mozc-im を利用するように設定を全面的に見直した。 2015/11/12 mozc-candidate-dispatch の advice を一度削除していたが、やはりあるべき設定のようなので復活させた。 2015/12/28 keyhac の設定の内容を、Keyhac for Windows ver 1.70 用に見直しをした。 2016/12/01 https //github.com/d5884/mozc-im/pull/1 で報告されている問題について対策した。 2017/07/11 Emacs で mozc を利用する際に Windows の IME の切換えキーを mozc の切り替えキーとして機能させるための設定を見直した。 2017/12/21 keyhac の設定で import re の行が不足していたので、追加した。 2019/05/17 wdired 利用時に C-o による日本語入力を可能とする設定を追加した。 2020/04/13 「IME を無効にするキー設定」と「IME を有効にするキー設定」を追加した。 2020/04/19 ワンショットモディファイアの機能を利用し、左右の Alt キーに IME の切替えを割り当てられるようにした。
https://w.atwiki.jp/bonbon_wikiwiki/pages/14.html
このページについて。 要するに。 Emacsについてのリンク、および各種設定などを記録してます。 目次 {{toc_here}} .emacs*ファイルの記述について。 カラーテーマ見本帳 http //www.cs.cmu.edu/~maverick/GNUEmacsColorThemeTest/index-c.html が参考になります。結構重いページかも。 私はいちいちあれこれ変更するのが面倒なのでカラーテーマで一括指定。指定方法は下記のとおり。 (require color-theme) (color-theme-initialize) (color-theme-お好きなテーマのタイトル) 注意点 たとえば「Gray30」をテーマに設定したいときに、そのままだとエラーになることがあるようです。「gray30」と頭文字も小文字に設定することが大事らしい…。なんだかなぁ…。 Shell関連。 Bashのプロンプトの表示を変更する。 see - http //www.atmarkit.co.jp/flinux/rensai/linuxtips/002cngprmpt.html たとえば export PS1="\s-\v \w$ " #コマンドプロンプト表示を変更。 といった具合に設定ファイル(.profileなど)に記述して$sourceコマンドで設定を現在のシェルへ反映させてやればすぐに変更される。 画面表示について(含むCarbonEmacsの画面最大化) http //www.sooey.com/journal/2008/04/29/721/ とかを参考に下記のとおり。私はMacOSX-10.4使いなので以下はCarbonEmacs2008春版の設定です。前記リンクに記載されているとおり、2008夏版以降ではきっと設定が違うんでしょね。 (if window-system (progn () ;;ツールバーをoffに。 (tool-bar-mode -1) ;;スクロールバーの設定。不要ならnil。 (toggle-scroll-bar nil) ;;フルスクリーン時にメニューバーを隠したい場合は以下を有効にする (setq mac-autohide-menubar-on-maximize t) ;;ウィンドウ最大化指定。 ;; でもちょっとしたメモのときは ;; M-x mac-toggle-max-window とコマンド打って ;; デフォルトに戻したほうが使いやすいかも。 ;; もういっかい同じコマンド打てば ;; また最大化してくれます。 (mac-toggle-max-window) ;;最大化したときのwindowの縦の段数を指定。 ;;12 は48で丁度。macbookだと50が丁度良いとかなんとか。 (setq default-frame-alist (append (list (height . 48) ))) ) ) howm|http //howm.sourceforge.jp/index-j.html関連。 Emacsのカレンダーをhowmに連動させる.emacsコード。 http //www.bookshelf.jp/soft/meadow_38.html#SEC556 おもしろすぎ。 行末・行頭の折返し記号を消したい。 fringe-modeの設定をする。 # M-x fringe-mode と入力、RETする。 # Select fringe mode for all frames (type ? for list) と聞いてくるのでかまわずRETする。 #消える 。 注意点 折返し記号がなくなった分、文章があまりにバッファの左端から右端までぴったりになってしまうのが難点といえば難点。 折返し記号(fringe)の色を変えてしまう。 (set-face-foreground fringe "gray15") といったコードを.emacsファイルに書き込んで、背景色と同化させてしまう。前記の場合はgray15と設定している。 Emacsの色見本 http //suiten.wig.nu/text/diary/1999/rgb.html ベターザンベター。 雑記 最近のcarbonEmacsには最初からhowmがインストールされているのね。 最初netInstallの項目から外れているしbuildしようとすると./configureで「あんさんのEmacsには組みこめませんて」といわれるしで混乱。 もののためしにM-xで「howm」と入力してタブ補完させると候補がずらずらでるので「まさか…ひょっとして…」とC-c,,するとhowm起動。すみません3日ぐらい気づきませんでしたorz。[2008/08/01]
https://w.atwiki.jp/saicron/pages/27.html
Emacs Lisp テキストエディタ プログラミング言語 Emacs GNU Emacs Lisp Reference Manual Programming in Emacs Lisp GNU Emacs Lispリファレンスマニュアル GNU Emacsマニュアル 入門 GNU Emacs 第3版 目次 Help Narrowing Bookmark Register 括弧・式・関数単位のカーソル移動 大文字・小文字変換 HTML Help キーストローク 関数名 ノート describe-key キー入力からバインドされているコマンドを表示 command-apropos コマンド名の一部でコマンドを検索表示する apropos-documentation page top Narrowing キーストローク 関数名 ノート C-x n n narrow-to-region C-x n w widen page top Bookmark キーストローク 関数名 ノート C-x r l list-bookmarks dで削除。 C-x r m RET bookmark-set ブックマークする。 C-x r m bookmark RET bookmark-set 名前を付けてブックマークする C-x r l list-bookmarks 一覧 +more... キーストローク 関数名 ノート C-x r b bookmark RET bookmark-jump ブックマークに移動する bookmark-save ブックマークファイルにセーブ M-x bookmark-load RET filename RET ブックマークデータのリストを収めたfilenameという名前のファイルをロードする。デフォルトのブックマークファイル以外のブックマークデータを収めたファイルに対しても、コマンドbookmark-writeと同じく、このコマンドを使える。 M-x bookmark-write RET filename RET 現在設定されているブックマークデータをファイルfilenameに保存する。 M-x bookmark-delete RET bookmark RET bookmarkという名前のブックマークを削除する。 M-x bookmark-insert-location RET bookmark RET ブックマークbookmarkが指しているファイルの名前をバッファに挿入する。 M-x bookmark-insert RET bookmark RET ブックマークbookmark page top Register キーストローク 関数名 ノート C-x r SPC REGISTER REGISTERは[a-z] C-x r j REGISTER C-x h 全てヤンク recentf-open-files page top 括弧・式・関数単位のカーソル移動 キーストローク 関数名 ノート C-M-f, C-M-b 式単位で移動 C-M-n, C-M-p 括弧単位で移動 C-M-u, C-M-d インデントを移動 M-a, M-e 文単位で移動 C-M-a, C-M-e C-M-SPC C-M-k C-M-h page top 大文字・小文字変換 キーストローク 関数名 ノート M-l 単語を小文字(カーソル以降)。 M-u 単語を大文字(カーソル以降)。 M-c 文字を大文字(カーソル上)。 C-x C-l リージョンを小文字。 C-x C-u リージョンを大文字。 page top HTML html-helper-mode M-C-i 補完 page top © Sai
https://w.atwiki.jp/kenichiro/pages/59.html
Emacsに関して .emacs Mew
https://w.atwiki.jp/taichik15/pages/16.html
Emacs Emacsのinit.el 置換時の改行 正規表現サーチ 正規表現置換 文字コードの変更 ファイル名変更 ショートカット一覧
https://w.atwiki.jp/uec1class1/pages/17.html
Emacsを起動する方法 uxtermかkterm上で emacs [C-]:ctrlを押しながら [M-]:「メタキー(クローバーのようなマーク)」を押しながら Emacs上でのコマンド ーコントロールキーを押しながら、2文字打つものー C-x C-c Emacsを終了する C-x C-b バッファのリストを表示 C-x C-f ファイルを読み込む C-x C-s ファイルをセーブする C-x C-q バッファを読み出し専用にしたり,書き込み可能にする~ C-x C-w ファイルを名前を付けて保存する C-x C-x マークとポイントの位置を交換 ーコントロールキーを押しながら1文字を打ち、手を離し文字をうつー C-x u 1回分の変更を元に戻す C-x h 現在の段落をリージョンに設定 C-x k バッファを削除 C-x i カーソル位置にファイルを読み込み,挿入する C-x d ディレクトリエディタ Dired を起動する ーコントロールキーを押しながら1文字打つー C-b 1文字左に移動 C-d カーソルのある文字を削除 C-f 1文字右に移動 C-g 実行の取りやめあるいは途中まで入力したコマンドのとりやめ C-k カーソルの位置から行末までを削除したものは削除リングへ移動される C-n 1文字下に移動 C-p 1文字上に移動 C-v 次の画面に移動 C-r 逆方向へパターン文字探索 C-s 順方向へパターン文字探索 C-y カーソルの位置からコピーして挿入 C-_またはC-/ 1回分の変更を元に戻す C- Spc 現在のカーソル位置にマークを設定 ーー M-v 前の画面に移動 M-h 現在の段落をリージョンに設定 M-x goto-line LINE カーソルを LINE 行へ移動する ーー Del カーソルの前の文字を削除 Tab ミニバッファのテキストを可能な限り補完 Spc 1語分だけ補完 Ret 補完を行った後,ミニバッファから脱出 ーその他ー ? ミニバッファのテキストから補完可能な候補を表示 パターン文字検索を行っている間のコマンド C-s 順方向の文字探索を繰り返す C-r 逆方向の文字探索を繰り返す C-y 行の残りの部分を探索文字列へ取り入れる C-w 次の単語を探索文字列へ取り入れる BS 文字検索の文字列を消去する ESC 文字検索を終了する Emacsがわからない人へ チュートリアルを起動すると良。 ー起動の仕方ー 1:kterm上で「ls -l ~/mac」を入力 2:sun上で「/class/ee/bin/setup_cl」を入力 3:Emacs 上で「C-h T RET 」を実行する。 日本語チュートリアル: 0.Emacs 1.たまご 「0 RET 」を入力して「Emacsの日本語チュートリアル」を選択する。 Emacs、Eggにおいて日本語入力の仕方 コントロールキー、オプションキー、ヘルプキーを同時に押す。 下の方が E_ →あ_になると日本語入力モード あ_→E_ になるとローマ字モード C-option-Help(¥) 日本語入力もう一度押すとローマ字モード ー変換文字数の変え仕方ー C-i 変換文字数を1つ減らす C-o 変換文字数を1つ増やす 補足:Eggのコマンド C-b 直前の文節へカーソルを移動 C-f 直後の文節へカーソルを移動 C-a 先頭の文節へカーソルを移動 C-e 最後の文節へカーソルを移動 C-n 次候補を表示 C-p 前候補を表示 C-i 文節の長さを短縮 C-o 文節の長さを伸長 C-m 文字列を確定し,フェンスモードを脱出 C-k カーソルの前までを確定 C-v 文節の情報をミニバッファに表示 M-s 変換候補一覧をミニバッファに表示 M-h (文節の)文字をひらがなに変換 M-k (文節の)文字をカタカナに Spc 次候補を表示 Ret 文字列を確定し,フェンスモードを脱出 / 文字列を確定し,フェンスモードを脱出
https://w.atwiki.jp/nanige/pages/13.html
emacsカラー設定
https://w.atwiki.jp/2messer14/pages/21.html
Emacs M-xで、関数を呼び出せる(Windowsでは、Mは、Escキー。) 関数とは、要するに機能名のことさ。
https://w.atwiki.jp/nkym_memo/pages/31.html
;; .emacs ;; ;; Last Updated 2010/12/14 Tue 02 31 29 ;; (if window-system (progn ;; 文字の色を設定 (add-to-list 'default-frame-alist '(foreground-color . "white")) ;; 背景色を設定 (add-to-list 'default-frame-alist '(background-color . "gray7")) ;; カーソルの色を設定 (add-to-list 'default-frame-alist '(cursor-color . "SlateBlue2")) ;; ;; マウスポインタの色を設定 ;; (add-to-list 'default-frame-alist '(mouse-color . "SlateBlue2")) ;; ;; モードラインの文字の色を設定 ;; (set-face-foreground 'modeline "white") ;; ;; モードラインの背景色を設定 ;; (set-face-background 'modeline "MediumPurple2") ;; ;; 選択中のリージョンの色を設定 (set-face-background 'region "Dark Slate Grey") ;; ;; モードライン(アクティブでないバッファ)の文字色を設定 ;; (set-face-foreground 'mode-line-inactive "gray30") ;; ;; モードライン(アクティブでないバッファ)の背景色を設定 ;; (set-face-background 'mode-line-inactive "gray85") )) ;;auto-install.elのインストール手順 ;; $mkdir -p ~/.emacs.d/auto-install ;; cd ~/.emacs.d/auto-install ;; wget http //www.emacswiki.org/emacs/download/auto-install.el ;; emacs --batch -Q -f batch-byte-compile auto-install.el ;;;Emacs Lispインストーラを利用 (add-to-list 'load-path "~/.emacs.d/auto-install") ;;(install-elisp-from-emacswiki "auto-install.el") ;(require 'auto-install) ;;起動時にEmacswikiのページを補完候補に加える ;(auto-install-update-emacswiki-package-name t) ;;install-elisp.el互換モード ;(auto-install-compatibility-setup) ;;ediff関連のバッファを一つのフレームにまとめる (setq ediff-window-setup-function 'ediff-setup-windows-plain) ;;; 基本設定 ;; スタートアップを非表示 (setq inhibit-startup-screen -1) ;; ビープ音を消す (setq ring-bell-function 'ignore) ;; 現在行に色をつける (global-hl-line-mode 1) ;; その行の色 (set-face-background 'hl-line "black") ;; 履歴を次回Emacs起動時にも保存する (savehist-mode 1) ;; 対応する括弧を光らせる (show-paren-mode 1) ;; カーソルの位置が何文字目かを表示する (column-number-mode t) ;; バックアップファイルを作らない (setq backup-inhibited t) ;; Xでのクリップボードを共有 (setq x-select-enable-clipboard t) ;; yes-or-noをy-or-nに省略 (defalias 'yes-or-no-p 'y-or-n-p) ;; 行の先頭でC-kを一回押すだけで行全体を消去する (setq kill-whole-line t) ;; ツールバーを非表示 (tool-bar-mode -1) ;; メニューバーを非表示 (menu-bar-mode -1) ;; 圧縮されたファイルも編集できるようにする (auto-compression-mode t) ;; スクロールを一行ずつにする (setq scroll-step 1) ;;; 現在の関数名をモードラインに表示 (which-function-mode 1) ;;; emacsclient ;; ファイルを現在のemacsで開く (server-start) ;; キーバインドの変更 ;; 指定の行に移る (global-set-key "\M-g" 'goto-line) ;; undo (global-set-key "\C-z" 'undo) ;; ウィンドウの移動をM-tに (global-set-key "\M-t" 'other-window) ;; C-hをBackSpaceに (global-set-key "\C-h" 'delete-backward-char) ;; M-x compile を C-. に (global-set-key [?\C-\.] 'compile) ;;; 初期フレームの設定 (setq initial-frame-alist (append '( (width . 47) ; フレーム幅(文字数) (height . 63)) ; フレーム高(文字数) initial-frame-alist)) ;;; 新規フレームのデフォルト設定 (setq default-frame-alist (append '((width . 47); フレーム幅(文字数) (height . 63)); フレーム高(文字数) default-frame-alist)) ;;; ファイル更新日を自動的に書き換える。 ;; ファイルの頭に "last updated "をつけくわえればよい (require 'time-stamp) ;; 日本語で日付を入れたくないのでlocaleをCにする (defun time-stamp-with-locale-c () (let ((system-time-locale "C")) (time-stamp) nil)) (if (not (memq 'time-stamp-with-locale-c write-file-hooks)) (add-hook 'write-file-hooks 'time-stamp-with-locale-c)) (setq time-stamp-active t) (setq time-stamp-start "Last Updated ") (setq time-stamp-format "%04y/%02m/%02d %3a %02H %02M %02S") (setq time-stamp-end " ") ;;;Last Updated の後に空白2つ以上いれると置換 ;;; タイトルバーにファイル名を表示する (setq frame-title-format (format "emacs@%s %%f" (system-name))) ;;; ファイルの自動挿入 (auto-insert-mode) ;; 自動挿入するファイルのあるディレクトリ ;; 最後の/は必須 (setq auto-insert-directory "~/.emacs.d/insert/") ;; 自動挿入するファイル (define-auto-insert "\\.c" "c-template.c") ;;; viewer.el view-modeの設定 ;; M-x install-elisp-from-emacswiki viewer.el ;; ;; C-x C-rでview-modeでファイルを開く (setq view-read-only t) ;; 書き込み不能な場合はview-modeを抜けないように (require 'viewer) (viewer-stay-in-setup) ;; .log .out .datファイルをview-modeで開く (setq view-mode-by-default-regexp "\\.log") (setq view-mode-by-default-regexp "\\.out") (setq view-mode-by-default-regexp "\\.dat") ;;; view-mode時にモードラインに色をつける ;; 色名を指定 (setq viewer-modeline-color-unwritable "tomato") (setq viewer-modeline-color-view "orange") (viewer-change-modeline-color-setup) ;; view-mode時のキーバインド (define-key view-mode-map "h" 'backward-char) (define-key view-mode-map "j" 'next-line) (define-key view-mode-map "k" 'previous-line) (define-key view-mode-map "l" 'forward-char) (define-key view-mode-map "J" 'View-scroll-line-forward) (define-key view-mode-map "K" 'View-scroll-line-backward) (define-key view-mode-map "b" 'scroll-down) (define-key view-mode-map " " 'scroll-up) ;; bm.el (define-key view-mode-map "m" 'bm-toggle) (define-key view-mode-map "[" 'bm-previous) (define-key view-mode-map "]" 'bm-next) ;; view-modeを有効・無効にする ;; 0.04秒以内に jk を同時押しでview-modeに移行 (require 'key-chord) (setq key-chord-two-keys-delay 0.04) (key-chord-mode 1) (key-chord-define-global "jk" 'view-mode) ;;; redo+.el (require 'redo+) ;; M-zに設定 (global-set-key "\M-z" 'redo) (setq undo-no-redo t); 過去のundoがredoされないようにする ;; 大量のundoに耐えられるようにする (setq undo-limit 600000) (setq undo-strong-limit 900000) ;;;fullscreen.el (require 'fullscreen) ;;; recentf-ext.el ;; install-elisp-from-emacswiki recentf-ext.el ;; 保存しておく数 (setq recentf-max-saved-items 3000) ;; 最近使ったファイルに加えないファイルを正規表現で指定する (setq recentf-exclude '("/TAGS$" "/var/tmp/")) (require 'recentf-ext) ;; f8をショートカットキーに (global-set-key [f8] 'recentf-open-files) ;;; auto-complete.el ;; install-elisp-from-emacswiki auto-complete.el ;(require 'auto-complete) ;(global-auto-complete-mode 1) ;;;col-highlight.el ;; auto-install-batch col-highlight.el ;(require 'col-highlight) ;(column-highlight-mode 1) ;;何もしないでいるとハイライトを始めるようにする場合 ;(toggle-highlight-column-when-idle 1) ;(col-highlight-set-interval 3) ;;; hippie-expand ;;; 略語展開の順を設定 (setq hippie-expand-try-functions-list '(try-expand-dabbrev try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill try-complete-file-name-partially try-complete-file-name try-expand-all-abbrevs try-expand-list try-expand-line try-complete-lisp-symbol-partially try-complete-lisp-symbol)) ;; キーバインドの変更 C-; (global-set-key [?\C-;] 'hippie-expand) ;;; ipa.el (require 'ipa) ;;; 背景色 (set-face-background 'highlight "lavender") ;;; sequential-command.el ;;; M-x auto-install-batch sequential-command (require 'sequential-command-config) (sequential-command-setup-keys) ;;; smartchr.el ;; M-x install-elisp ;; https //github.com/imakado/emacs-smartchr/raw/master/smartchr.el (require 'smartchr) ;; once "", twice " (global-set-key (kbd "\"") (smartchr '("\"`!!'\"" "\""))) ;; once '', twice ' (global-set-key (kbd "\'") (smartchr '("\'`!!'\'" "\'"))) ;;; auto-save-buffers.el ;; M-x install-elisp ;; http //homepage3.nifty.com/oatu/emacs/archives/auto-save-buffers.el (require 'auto-save-buffers) ;; アイドル2秒で保存 (run-with-idle-timer 0.2 t 'auto-save-buffers) (run-with-idle-timer 0.2 t 'auto-save-buffers "" ".ipa$") ;;; open-junk-file.el ;; M-x install-elisp-from-emacswiki open-junk-file.el ;; Usage M-x open-junk-file (require 'open-junk-file) (setq open-junk-file-format "~/junk/%Y-%m-%d-%H%M%S.") ;;; bm.el ;; M-x install-elisp ;; http //cvs.savannah.gnu.org/viewvc/*checkout*/bm/bm/bm.el (setq-default bm-buffer-persistence nil) (setq bm-restore-repository-on-load t) (require 'bm) (add-hook 'find-file-hooks 'bm-buffer-restore) (add-hook 'kill-buffer-hook 'bm-buffer-save) (add-hook 'after-save-hook 'bm-buffer-save) (add-hook 'after-revert-hook 'bm-buffer-restore) (add-hook 'vc-before-checkin-hook 'bm-buffer-save) (global-set-key (kbd "M-\\") 'bm-toggle) (global-set-key (kbd "M-[") 'bm-previous) (global-set-key (kbd "M-]") 'bm-next) ;;; Latex ;; 日本語コードをeuc-japanに (set-language-environment "Japanese") (set-default-coding-systems 'euc-japan) (set-terminal-coding-system 'euc-japan) ;;; Yatex (setq YaTeX-inhibit-prefix-letter nil)